package com.ruoyi.asset.maintenance.service;

import com.ruoyi.asset.maintenance.domain.bo.IntegratedMaintenanceBo;
import com.ruoyi.asset.maintenance.domain.bo.MaintenanceStatisticsBo;
import com.ruoyi.asset.maintenance.domain.vo.IntegratedMaintenanceVo;
import com.ruoyi.asset.maintenance.domain.vo.MaintenanceCommunityCountVo;
import com.ruoyi.asset.maintenance.domain.vo.MaintenanceCommunityMapVo;
import com.ruoyi.asset.maintenance.domain.vo.MaintenanceWorkStatisticsVo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 一体化维护管养
 * @author 12276
 */
public interface IIntegratedMaintenanceService {

    /**
     * 数据导入
     *
     * @return 返回导入失败数据的行号和错误信息
     */
    List<String> importExcel(String excelUrl);

    /**
     * 删除一体化维护管养
     */
    int deleteMaintenance(Set<Long> idsSet);

    /**
     * 查询一体化维护管养
     * @return
     */
    TableDataInfo<IntegratedMaintenanceVo> queryMaintenance(IntegratedMaintenanceBo searchBo, PageQuery pageQuery);

    /**
     * 导出一体化维护管养
     * @return
     * @param searchBo
     */
    List<IntegratedMaintenanceVo> exportMaintenance(IntegratedMaintenanceBo searchBo);

    /**
     * 统计一体化首页数据
     * @return
     */
    MaintenanceStatisticsBo getMaintenanceCount();

    Map getMaintenanceCommunityCount();

    /**
     * 智慧大屏一体化维修左侧
     * @param date 指定日期
     * @return
     */
    List<MaintenanceCommunityCountVo> getMaintenanceCountByCommunity(String date);

    /**
     * 今日统计
     * @param date 指定日期
     * @return
     */
    MaintenanceWorkStatisticsVo getMaintenanceWorkByDate(String date);

    MaintenanceWorkStatisticsVo getMaintenanceWorkByDateAndCommunity(String date,String community);

    MaintenanceCommunityMapVo getCommunityByDate(String community, String date);

    Integer getMaintenanceByDateAndCommunity(String date,String community);
}
